package cn.com.blueInfo.HaiYuan.business.payment.mapper;

import cn.com.blueInfo.HaiYuan.business.payment.entity.PaymentVoucher;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 付款单信息表
 * @ClassName: PaymentVoucherMapper
 * @tableNmae: tj_hai_payment_voucher
 * @author suxch
 * @date 2019年7月24日  下午10:47:38
 */
@Mapper
public interface PaymentVoucherMapper extends BaseMapper<PaymentVoucher> {

    /**
     * 批量新增付款单信息
     * @Title: batchAddPaymentVoucherInfo
     * @param voucherList
     * @return int
     * @throws
     */
    int batchAddPaymentVoucherInfo(List<PaymentVoucher> voucherList);

    /**
     * 新增付款单信息
     * @Title: addPaymentVoucherInfo
     * @param voucher
     * @return int
     * @throws
     */
    int addPaymentVoucherInfo(PaymentVoucher voucher);

    /**
     * 批量删除付款单信息
     * @Title: batchDelPaymentVoucherInfoByUnids
     * @param voucherUnids
     * @return int
     * @throws
     */
    int batchDelPaymentVoucherInfoByUnids(ArrayList<String> voucherUnids);

    /**
     * 删除付款单信息
     * @Title: delPaymentVoucherInfoByUnid
     * @param unid
     * @return int
     * @throws
     */
    int delPaymentVoucherInfoByUnid(String unid);

    /**
     * 批量更新付款单信息
     * @Title: batchUpdatePaymentVoucherInfoByUnid
     * @param voucherList
     * @return int
     * @throws
     */
    int batchUpdatePaymentVoucherInfoByUnid(List<PaymentVoucher> voucherList);

    /**
     * 更新付款单信息
     * @Title: updatePaymentVoucherInfoByUnid
     * @param voucher
     * @return int
     * @throws
     */
    int updatePaymentVoucherInfoByUnid(PaymentVoucher voucher);

    /**
     * 分页查询付款单信息
     * @Title: queryPaymentVoucherInfo
     * @param paramMap
     * @return List<PaymentVoucher>
     * @throws
     */
    List<PaymentVoucher> queryPaymentVoucherInfo(Map<String, Object> paramMap);

    /**
     * 查询付款单信息
     * @Title: queryPaymentVoucherInfo
     * @return List<PaymentVoucher>
     * @throws
     */
    List<PaymentVoucher> queryPaymentVoucherInfo();

    /**
     * 条件查询付款单数量
     * @Title: queryPaymentVoucherInfoCount
     * @param paramMap
     * @return Integer
     * @throws
     */
    Integer queryPaymentVoucherInfoCount(Map<String, Object> paramMap);

    /**
     * 查询付款单数量
     * @Title: queryPaymentVoucherInfoCount
     * @return Integer
     * @throws
     */
    Integer queryPaymentVoucherInfoCount();

}
